Polling

ABSTRACT

A system for mobile device poll creation and conductance disclosed. A poll is created using poll creation software on a mobile device, personal computer or a web-based application. A polling server then validates the poll and publishes the poll to one or more mobile devices. The users of the one or mobile devices may then respond to the poll via their mobile device, a personal computer, or a web-based application. The results are sent to the polling server and are processed. The results of the poll are then published to the poll creator and the poll participants.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the priority benefit of U.S. Provisional Patent Application Ser. No. 60/941,632, filed on Jun. 1, 2007, entitled “Polling” which is hereby incorporated by reference.

BACKGROUND

1. Field of the Invention

The present invention generally relates to the field of wireless mobile device services. More specifically, the present invention relates to poll creation, poll publication, and poll processing.

2. Description of Related Art

Mobile devices may be used to communicate via text messages. The use of text messages may be used to conduct polls. An example of text based polling is the television show American Idol. Viewers of American Idol vote for the contestants they want to help avoid elimination. An available voting method is the use of text messages from a mobile device. Viewers send a text message with the word “vote” to a number associated with the particular contestant for whom the viewer wants to vote. These votes, along with votes received through other voting methodologies, are counted and used in determining the outcome of the show.

Mobile device polling is currently limited to polls setup by large entities such as American Idol in association with a network service provider (e.g., AT&T Wireless). The subject matter of the text message polls and the allowable responses are predetermined. There is a need in for individuals to create and conduct their own text message polls that is presently unavailable in the prior art.

SUMMARY

A method for mobile network polling is disclosed. The method includes receiving a poll created on an originating client at the polling server. The poll is then processed at the polling server. The poll is then published from the polling server to one or more mobile devices. The poll responses generated by users of the mobile devices are received at the polling server. The poll responses are processed at the polling server. The poll results are published from the polling server to the poll originator.

A system for polling in a mobile network includes a computing device, a polling server, and one or more mobile devices. The computing device generates a poll. The polling server is connected to the computing device. The polling server receives the generated poll. The polling server further validates the poll. The one or more mobile devices are communicatively connected to the polling server. The one or more mobile devices receive the poll as published by the polling server. The one or more mobile devices generate a response to the published poll. The polling server receives the generated response to the published poll. The polling server processes the generated response to the published poll. The polling server publishes the results to the one or more mobile devices that generated a response to the published poll.

A polling server including a poll validation module, a poll publication module, a poll response module, and a poll results publication module. The poll validation module receives a poll generated by a computing device connected to a polling server. The poll validation module verifies that the generated poll conforms to the requirements of the polling server. The poll validation module may alternatively verify that the generated poll conforms to the requirements of a polling application utilized by the polling server. The poll validation module may alternatively verify that the generated poll conforms to both the requirements of the polling server and the polling application utilized by the polling server. The poll publication module converts the generated poll into a format that may be transmitted over a network. The poll publication module may alternatively convert the generated poll into a format that may be executed and rendered by a polling application at a mobile device connected to a network. The poll publication module may alternatively convert the generated poll into a format that may both be transmitted over a network and be executed and rendered by a polling application at a mobile device connected to a network. The poll response module receives the responses to the published poll from the one or more mobile devices that generated a response to the published poll and calculates the results from the poll. The poll results publication module publishes the results of the poll that was calculated by the poll response module.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an exemplary method for polling in a mobile network.

FIG. 2 depicts an exemplary system for polling in a mobile network.

FIG. 3 depicts an exemplary polling server.

DETAILED DESCRIPTION

FIG. 1 depicts a method for mobile network polling 100. In step 105, a poll created on an origination client is received at the polling server. Poll creation may be performed by the poll originator using poll creation software on a mobile device or personal computer (PC) or through a web-based application, which may be accessible on a PC or mobile device. The poll creation software may specify the mandatory and optional elements of the poll. Poll elements may include recipients, subject, poll question(s), poll question type(s) (i.e., multiple choice single answer, multiple choice instant runoff, etc), validity period, priority, free or premium participation, delay options, and privacy provisions.

An application programming interface (API) overlay may be provided on an SMS system during poll creation. A user may choose a poll creation option that may link the poll to a specific phone number or text message address. When a user subsequently responds to the poll, the mobile device may automatically dial and/or send the text message to submit the user's vote without the need for remembering an exact number or verbiage for texting.

In optional step 110, the poll is validated at the polling server. The polling server verifies that the generated poll conforms to the requirements of the polling server. The polling server may alternatively verify that the generated poll conforms to the requirements of a polling application utilized by the polling server. The polling server may alternatively verify that the generated poll conforms to both the requirements of the polling server and the polling application utilized by the polling server.

In step 115, a success notification is sent from the polling server to the originating client if the poll is valid. In step 120 a failure notification is sent from the polling server to the originating client if the poll is invalid. The user of the originating client may then modify the poll, re-create a new poll, or abandon the poll. Notices, in either instance, may be SMS based or an e-mail communication. Details as to why a poll is not valid may be included in the response.

In step 125 the poll is processed at the polling server. A poll object is created for each transport used to reach the poll recipients. Such transports may include Short Message Service (SMS) with reply-to-me shortcode, generic Instant Message (IM), network-specific poll API Instant Message (IM), Email with reply-to-me processing, Email with embedded HTML form, or Email/SMS/IM with a link to a web-based voting site. Poll processing also includes converting the generated poll into a format that may be transmitted over a network. The polling server may convert the generated poll into a format that may be executed and rendered by a polling application at a mobile device connected to a network. The polling server may convert the generated poll into a format that may both be transmitted over a network and be executed and rendered by a polling application at a mobile device connected to a network. The polling server may use either charging or accounting functions, or both, before or after processing the poll. The polling server may require the originating client to verify charges before processing the poll.

In step 130 the poll is published from the polling server to one or more mobile devices. The poll may be published to the one or more poll recipients via SMS with reply-to-me shortcode, generic IM, network-specific poll API IM, Email with reply-to-me processing, Email with embedded HTML form, or Email/SMS/IM with a link to an HTTP site.

In step 135 the poll responses are received as generated by users of the one or more mobile devices. The responses are gathered via one or more channels. The channels may include SMS shortcode, IM agent, Email agent, or an HTTP voting site.

In step 140 the poll responses are processed. The polling server receives the responses to the published poll from the one or more mobile devices that generated a response to the published poll and calculates the results from the poll. The answers for each poll question may be counted. The total number of responses received may be counted. Percentages may be calculated, such as the percentage of correct responses for each poll question, the percentage of each answer received for each poll question, the percentage of responses received from the poll recipients, or percentages of responses that are correct or incorrect.

In step 145 the results to the poll originator are published. The publishing of the results to the poll originator may occur synchronously or asynchronously. In a synchronous embodiment, there is an open Internet Protocol (IP) response to the originating client that generated the poll. Where the originating client is a personal computer or web-based application, a dynamic update form may be pushed to the originating client. In an asynchronous embodiment, there may be an IP push to the originating client after disconnect whereby a communication channel is opened (e.g., by an initial SMS message) followed by delivery of the relevant polling data results. The results may be published to the poll originator by sending an SMS summary to the originating client, updating an HTTP results page, or updating an XML/HTTP feed.

In optional step 150 is publishing the poll results to the one or more mobile device whose users provided a response to the published poll in step 135. Automated updates on poll results may be sent to the user's mobile phone or mobile device via, for example, an HTTP GET command. For example, once a user responds to a poll about racing by submitting a choice for favorite race car driver, the mobile device may automatically receive and display details regarding the current poll results as well as the final poll results once the poll is closed. The poll may also include an option for delaying a response. If a user chooses to respond to the poll later, the poll creation software on the mobile device may provide reminder messages and/or result updates up until the poll closes. The polling server may also provide reminder messages and/or result updates up until the poll closes.

The present polling method may be used to drive Internet traffic. Polling may use subscriptions to gauge previously established interests, which may be used to drive Internet traffic to related sites. For example, when a user participates in a poll, updates regarding the poll may include links to websites with related content or even automatic redirects to the same.

FIG. 2 depicts an exemplary system 200 for polling in a mobile network. The poll may be created using an originating client 205. The originating client 205 may be an originating mobile device 210, an originating computing device 215, or an originating web-based application 220. The poll may be creating using poll creation software on the originating mobile device 210 or originating computing device 215 as well as through a web-based application 220, which may be used through a browser loaded on a mobile device or computer device.

Once the poll is created, it is published to the polling server 225 (FIG. 3). In some embodiments, the originating client 205 may pre-validate the poll prior to publishing the poll to the polling server 225. The polling server 225 then validates the poll and returns a success or failure notification to the originating client 205. In some embodiments, the polling server 225 may use a charging function, or accounting function, or both either before or after processing the poll. The charging function or accounting function allows the polling server to charge the poll originator a fee. Types of fees may include flat fees or fees based on poll options, poll complexity, number or poll questions, and number of poll recipients. The polling server 225 may require the client verify charges before processing the poll.

The polling server 225 then processes the poll. The polling server 225 creates a poll object for each type of transport to be used to reach poll recipients. The types of poll objects that may be created include an SMS with reply-to-me shortcode, generic IM, network-specific poll API IM, Email with reply-to-me processing, Email with an embedded HTML form, or an SMS, IM or Email embedded with a link to an HTTP voting site. The polling server then publishes the poll to one or more mobile devices 210 using the poll objects. The polling server 225 and the one or more mobile devices 210 are connected over a network 230.

The users of the one or more mobile devices 210 receive the poll and may then respond to the poll. The users of the one or more mobile devices may then respond to the poll via the mobile device, or through a computing device 215 using SMS, IM, Email, or an HTTP voting site. The system may contain one or more computing devices 215 through which other mobile device users may use to respond to the poll. The user of the mobile device does not have to respond to the poll via the method in which they received the poll. For example, if the poll is published to one of the mobile devices 210 via SMS, the user of that mobile device 210 may not be limited to responding to the poll via SMS. The user of that mobile device 210 may choose to any available response modes made available by the poll originator, which may include SMS, IM, Email, or an HTTP voting site.

The poll responses are sent back to the polling server 225. The polling server then processes the poll results. The polling server may count the answers for each poll question, or the total number of responses received. The polling server may calculate percentages of each answer submitted for each poll question, percentages of correct responses for each poll question, percentage of responses received from the poll recipients, or percentages of responses that are correct or incorrect. The poll results are then published to the originating client 205. The results may also be published to the poll recipients or poll responders. The poll results may be published in real time, time delay, set time interval, at predetermined change points, or after the poll has closed.

FIG. 3 depicts an exemplary polling server 300. Polling server 300 may include various hardware and software in order to allow for communication over a network and as otherwise known in the art. These components may include a processor 325, memory 330, storage 335, and a communication interface 340. Processor 325 may be utilized to execute the various software modules described herein. Memory 330 and storage 335 may be utilized for the short term and/or long term storage of information related to processing of polling data and subsequent storage of the same. Communication interface 340 may allow for communication and exchange of various data types over a network.

Polling server 300 may include a poll validation module 305, a poll publication module 310, a poll response module 315, and a poll results publication module 320. Modules 305, 310, 315, and 320 may be executed by processor 325 (which may be a general purpose processor), an application specific integrated circuit (ASIC) embedded with microcode corresponding to microcode functionality, or other known processing element.

The poll validation module 305 (when executed by processor 325) processes a received poll generated by a computing device in communication with polling server 300. The poll validation module 305 verifies that the generated poll conforms to the requirements of the polling server 300. The poll validation module 305 may alternatively verify that the generated poll conforms to the requirements of a polling application utilized by the polling server 300. The poll validation module 305 may also verify that the generated poll conforms to both the requirements of the polling server and the polling application utilized by the polling server.

Execution of the poll publication module 310 converts the generated poll into a format that may be transmitted over a network. The poll publication module 310 may also convert the generated poll into a format that may be executed and rendered by a polling application at a mobile device connected to a network. The poll publication module 310 may also convert the generated poll into a format that may both be transmitted over a network and be executed and rendered by a polling application at a mobile device in communication with a network.

Execution of the poll response module 315 processes received responses to the published poll from the one or more mobile devices that generated a response to the published poll and calculates the results from the poll. The poll response module 315 may count the answers for each poll question, or the total number of responses received. The poll response module 315 may calculate percentages of each answer submitted for each poll question, percentages of correct responses for each poll question, percentage of responses received from the poll recipients, or percentages of responses that are correct or incorrect. The poll results publication module 320 provides for the publication of the results of the poll that was calculated by the poll response module 315.

While the present invention has been described in connection with a series of preferred embodiments, these descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. 

1. A polling method, comprising: receiving a poll created on an originating client, the poll received at the polling server; processing the poll at the polling server; publishing the poll from the polling server to one or more mobile devices; receiving one or more poll responses as generated by users of the one or more mobile devices at the polling server; processing the poll responses at the polling server; and publishing the poll results from the polling server to the poll originator.
 2. The method of claim 1, wherein the poll is created using poll creating software stored on the originating client, and wherein the originating client is a mobile device.
 3. The method of claim 1, wherein the poll is created using poll creating software stored on the originating client, and wherein the originating client is a personal computer.
 4. The method of claim 1, wherein the poll is created using a web-based application for poll creation.
 5. The method of claim 1, further comprising pre-validating the poll prior to the poll being received at the polling server.
 6. The method of claim 1, further comprising applying a charging function before processing the poll.
 7. The method of claim 1, further comprising issuing a financial charge after processing the poll.
 8. The method of claim 1, further comprising applying an accounting function before processing the poll.
 9. The method of claim 1, further comprising applying an accounting function after processing the poll.
 10. The method of claim 1, further comprising requiring the client to verify charges before processing the poll.
 11. The method of claim 1, wherein processing the poll at the polling server includes the creation of poll objects for each transport to be used to reach poll recipients, the poll objects selected from the group consisting of SMS with reply-to-me shortcode, SMS with a link to an HTTP voting site, generic IM, IM with a network-specific poll API, IM with a link to an HTTP voting site, Email with reply-to-me processing, Email with an embedded HTML form, and Email with a link to an HTTP voting site.
 12. The method of claim 1, wherein the created poll comprises poll elements selected from the group consisting of recipients, subject, one or more poll questions, poll question type, validity period, priority, free or premium participation, delay options, and privacy provisions.
 13. The method of claim 1, wherein the receiving one or more poll responses as generated by users of the one or more mobile devices consists of responses sent via SMS shortcode, an IM agent, an Email agent, or an HTTP voting site.
 14. The method of claim 1, further comprising publishing the poll results from the polling server to the one or more mobile devices whose users provided a response to the published poll.
 15. The method of claim 1, wherein publishing the poll results from the polling server to the poll originator occurs synchronously to the originating client.
 16. The method of claim 1, wherein publishing the poll results to the poll originator occurs by pushing a dynamic form update.
 17. The method of claim 1, wherein publishing the poll results to the poll originator occurs asynchronously via an IP push to the originating client.
 18. The method of claim 2, wherein publishing the poll results to the poll originator occurs asynchronously by sending an SMS summary to the originating mobile device.
 19. The method of claim 1, wherein publishing the poll results to the poll originator occurs asynchronously by updating an HTTP results page.
 20. The method of claim 1, wherein publishing the poll results to the poll originator occurs asynchronously by updating an XML/HTTP feed.
 21. The method of claim 14, wherein the results published to the one or more mobile devices whose users provided a response to the published poll includes links to websites with related content.
 22. A system for polling in a mobile network, the system comprising: an originating client configured to generate a poll; a polling server coupled to the originating client, the polling server configured to: receive the generated poll, validate the poll, process the poll, and send a success or failure notification to the originating client; and a mobile device communicatively coupled to the polling server, the mobile device configured to receive the poll as published by the polling server and generate a response to the published poll, and wherein the polling server is further configured to: receive the generated responses to the published poll, process the generated response to the published poll, and publish the results of the published poll to the originating client.
 23. The system of claim 22, wherein the originating client is a mobile device configured with poll creation software.
 24. The system of claim 22, wherein the originating client is a personal computer configured with poll creation software.
 25. The system of claim 22, wherein the originating client is a web-based application for poll creation.
 26. The system of claim 22, wherein the originating client is further configured to pre-validate the poll prior to sending the generated poll to the polling server.
 27. The system of claim 22, wherein the polling server is further configured to use a charging function before processing the poll.
 28. The system of claim 22, wherein the polling server is further configured to use a charging function after processing the poll.
 29. The system of claim 22, wherein the polling server is further configured to use an accounting function before processing the poll.
 30. The system of claim 22, wherein the polling server is further configured to use an accounting function after processing the poll.
 31. The system of claim 22, wherein the polling server is further configured to verify charges before processing the poll.
 32. The system of claim 22, wherein the polling server configured to process the poll comprises the capability to create poll objects for each transport to be used to reach poll recipients, the poll objects comprising SMS with reply-to-me shortcode, SMS with a link to an HTTP voting site, generic IM, IM with a network-specific poll API, IM with a link to an HTTP voting site, Email with reply-to-me processing, Email with an embedded HTML form, and Email with a link to an HTTP voting site.
 33. The system of claim 22, wherein the originating client configured to generate a poll comprises the capability to determine poll elements for the poll, the elements comprising recipients, subject, one or more poll questions, poll question type, validity period, priority, free or premium participation, delay options, and privacy provisions.
 34. The system of claim 22, wherein the polling server is still further configured to receive the generated responses to the published poll comprises the capability to receive responses sent via SMS shortcode, an IM agent, an Email agent, or an HTTP voting site.
 35. The system of claim 22, wherein the polling server is further configured to publish the results to the one or more mobile devices that generated a response to the published poll.
 35. A polling server, comprising: a poll validation module, the poll validation module configured to receive a poll generated by a computing device coupled to the polling server, the poll validation module further configured to verify that the generated poll conforms to one or more requirements of the polling server; a poll publication module, the poll publication module configured to convert the generated poll into a format capable of being transmitted over a network and/or executed and rendered by a polling application at a mobile device coupled to the network; a poll response module, the poll response module configured to receive one or more responses to the published poll from one or more mobile devices that generated a response to the published poll and to calculate results from the poll; and a poll results publication module, the poll results publication module configured to publish the results of the poll as calculated by the poll response module. 